DYLEMAT STUDENTA - WYTRAWNE WINO CZY TANIE I OBIAD?

Wyznaczanie jakości wina na podstawie parametrów cieczy. | Aplikacja dla urzędu kontrolującego winiarnie

Celem projektu jest porównanie w zależności od problemu(regresja/klasyfikacja) różnego rodzaju modeli wraz z różnego rodzaju hiperparametrami.

https://www.kaggle.com/uciml/red-wine-quality-cortez-et-al-2009

Team members:

Analizowany zbiór dotyczy portugalskiego czerwonego wina „Vinho Verde”.
Dane zostały zebrane od maja 2004 do lutego 2007.
Każda próbka posiada informacje na temat najczęstszych badań fizykochemicznych oraz ostateczną ocenę, która jest medianą ocen trzech ekspertów w skali od 1 do 10.
Zbiór posiada 11 zmiennych wejściowych (m.in. PH, kwasowość, alkohol, chlorki, siarczany) oraz zmienną wyjściową - jakość.
  1. BIBLIOTEKI
  2. DANE_&_WYKRESY
  3. PREPROCESSING
  4. MODELE
    4.1 MODEL1_REGRESJA_LINEARNA
    4.2 MODEL2_REGRESJA_LOGISTYCZNA
    4.3 MODEL3_DECISION_TREE
    4.4 MODEL4_RANDOM_FOREST
    4.5 MODEL5_GBOOST
  5. PORÓWNANIE_MODELI

1. BIBLIOTEKI

2. DANE I WYKRESY

Zbiór zawiera 1599 wierszy i 11 kolumn. Zmienną wynikową jest quality.

Pairplot

Boxploty i barploty

Analiza korelacji.

3. PREPROCESSING

Analiza duplikatów

Zbiór zawiera 240 zduplikowanych wartości. Ponieważ nie ma informacji o tym, jak pobrano próbki zestawu danych, zakładamy, że mamy do czynienia z drugim przypadkiem i dlatego zachowujemy duplikaty.

Brakujące wartości

Zbiór nie zawiera brakującyh wartości

Na podstawie wstępnej analizy danych do modelu zostało wybranych 7 zmiennych:

volatile acidity, citric acid,total sulfur dioxide, density, sulphates, alcohol,quality   

Usuwamy outliery

Przekształcamy zmienne zależne na wartości binarne :

Zbiór danych ma znacznie większą liczbę wartości 0, co wskazuje, że dane zawierają więcej wierszy, które reprezentują złą jakość wina. Zbiór jest mocno niezbalansowany.

Podział zbioru na treningowy i testowy

Standaryzacja

 Do niektórych modeli dane muszą być znormalizowane. 
 W tym celu tworzymy kopię danych, które poddajemy standaryzacji.
 Model drzewa decyzyjnego i lasu losowego budowany jest na danych niestandaryzwoanych.
 Ponieważ zbiór jest mocno niezrónoważony stosujemy oversampling - metody SMOTE.

Wykresy

4. MODELE

Ponieważ zmienna wynikowa po przekształceniu przyjmuje wartości 0 lub 1 wybraliśmy następujące modele:

Modele te zostały wybrane, żeby móc odpowiedzieć na następujące pytania:

Stworzyliśmy również model K-Means.

Zastosowane metryki:

- Recall
- Precision
- F1
- AUC

4.1. MODEL REGRESJA LOGISTYCZNA

GridSearchCV

4.2. MODEL DECISION TREE

Jeżeli klasy nie są zrównoważone wtedy na podstawie krzywej ROC można wyciągnąć nadmiernie optymistyczne wnioski. Dlatego stosowany jest inny sposób oceniania klasyfikatora polegające na wykreśleniu krzywej Precision- Recall curve. Klasyfikacja to zrównoważony proces wyszukiwania potrzebnych danych (czułość) przy jednoczesnym ograniczeniu błędnych wyników (precyzja). Zazwyczaj trzeba znaleźć kompromis między tymi pojęciami. Im większa czułość tym mniejsza precyzja i odwrotnie.

4.3. MODEL RANDOM FOREST

Walidacja krzyżowa (kroswalidacja)

Zbiór jest mocno niezrównoważony.

W celu zrównoważenia danych używam oversamplingu ( metoda SMOTE). Tworzę model z parametrem sampling_strategy=0.75

4.4. MODEL XGBOOST

4.5. KMEANS

5. PORÓWNANIE MODELI

Porównanie metryk stworzonych modeli - na zbiorze testowym

Wszystkie modele zostały przetestowane cross_val_score, natomiast parametry zostały wybrane za pomocą GridSearchCV.
Metryką, która była dla nas najbardziej istotna jest Recall, która jest intuicyjnie zdolnością klasyfikatora do znalezienia wszystkich pozytywnych próbek. Poniżej tabelka z porównaniem metryk dla modeli.

Ocena jakosci modeli (StratifiedKFold)

sprawdzenie na zbiorze testowym

Confusion matrix dla XGBoost

wspólna krzywa ROC

Porównanie ważności cech między modelami drzewa,lasu losowego i XGBoost

Wykres klasyfikacji indeksów za pomocą biblioteki shap

Dziękujemy za uwagę